home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 1 / NetNews Offline Volume 1.iso / news / fido / ger / amiprog / 216 < prev    next >
Internet Message Format  |  1996-03-16  |  3KB

  1. From: Karl_Lockhoff@p16.f575.n241.z2.fido.sub.org (Karl Lockhoff)
  2. Organization: Just another Mac in the wall ...
  3. Path: f575.n241.z2.fidonet.org!not-for-mail
  4. Newsgroups: fido.ger.amiprog
  5. Subject: Re: ProgImpuls
  6. Message-ID: <MSGID_2=3A241=2F575.16=40fidonet_15643A3A@fidonet.org>
  7. References: <MSGID_2=3A2437=2F477.5=40FidoNet_30be7397@fidonet.org>
  8. Date: Mon, 04 Dec 1995 01:52:27 +0200
  9.  
  10. In einer Nachricht vom 30 Nov 95 schreibst Du an Markus Reschke:
  11.  
  12. Moin Peter
  13.  
  14.  PF>>>    Ich moechte gerne am Parallel-Port eine Impulsfolge erzeugen. Die
  15.  PF>>> in Wie kann ich das Multitasking-Konform erzeugen ?
  16.  
  17.  MR>> Ueber das timer.device. Da Deine Zeitspanne im ms-Bereich liegt
  18.  MR>> sollte
  19.  
  20.  PF> ...   jepp,  danke.   Ich  moechte  beim  'timer.device'  den
  21.  PF> 'microHz'-Modus  benutzen,  nur  der kommt da wohl in Frage.
  22.  PF> Weist  Du  zufaellig  auch wie genau das ist ??  Und ob, wenn
  23.  PF> man  die  Aufrufe  'zu  kurz'  macht, der Amiga auf die Nase
  24.  PF> faellt ??
  25.  
  26. Die Reaktionszeit haengt leider von der Systemlast ab. Es kann also
  27. durchausvorkommen, dass einige Zeit vergeht bis dein Programm die Nachricht vom
  28. timer.device erhaelt.  Ich schlage deshalb alternativ einen
  29. Interrupthandler vor.
  30.  
  31.  MR>> es gehen. Ansonsten koenntest Du auch ein Monoflop ueber den
  32.  MR>> Parallel-Port triggern.
  33.  
  34.  PF>   Der Gag beim Programmieradapter den wir bauen ist, das er
  35.  PF> Harwaremaessig  sehr  einfach  aufgebaut ist, sodass ihn andere
  36.  PF> leicht  nachbauen  koennen.   Wir  wollen daher mal die Sache
  37.  PF> Softwaretechnisch 'ausloten' :)
  38.  PF>   Das  IC,  um das es hier geht, wird seriell programmiert.
  39.  PF> Eine Programmieranweisung setzt sich aus einem Kommando- und
  40.  PF> einem Daten- Wort zusammen.
  41.  PF>   Insgesamt  sind  es  24 Bit die in ca.  4,8 ╡s uebertragen
  42.  PF> werden  sollen.   In dieser Zeitspanne will ich das Amiga-BS
  43.  PF> mit  Disable()/Enable()  Aus-, und natuerlich :), wieder Ein-
  44.  PF> Schalten.  Mueste eigentlich klappen.
  45.  PF>   Jetzt kommt eine Programmierpause von 20ms, in der das IC
  46.  PF> das  Gesendete  erst  einmal 'Verdauen' muss.  In dieser Zeit
  47.  PF> kann  das  BS,  bis  zur naechsten Programmieranweisung, ganz
  48.  PF> normal weiterroedel.
  49.  PF>   Was meinst Du, haut das hin ??
  50.  
  51. Noch ein anderer Vorschlag:  Der serielle Port der CIAs.  ciab.resource belegen,
  52. damit man OS-konform bleibt.  Den seriellen Port benutzt man jetzt folgender
  53. Massen:  Serielle Leitung auf Ausgabe (bit 6 im CRA-Register setzen).  Die
  54. Unterlaufrate des Timers A bestimmt die Ausgaberaten und zwar werden die Daten
  55. mit der halben Unterlaufrate herausgeschoben.  Der Timer A muss hierzu
  56. allerdings im continuous-mode laufen.  Mit der Uebertragung wird begonnen,
  57. sobald ein Wert ins SDR-Register geschrieben wird.  Nach beendeter Uebertragung
  58. wird das SP-Bit im ICR gesetzt.  Man kann allerdings schon kurz vor Ablauf der
  59. Uebertragung ein neues Byte in das SDR-Register schreiben.  In diesem Fall wird
  60. die Uebertragung ohne Unterbrechung fortgesetzt. An der SP-Leitung des Port
  61. liegen die serielle Datan,  an der CNT-Leitung der Takt. Nachdem alle zur
  62. Programmierung verwendeten Daten uebertragen wurden, den timer stoppen und die
  63. resource freigeben.
  64.  
  65.    -    
  66.   ---      Karl Lockhoff
  67.  -----     2:241/575.16@fidonet
  68. -------    Member of TEAM Amiga
  69.